package com.xoa.service.dutyManagement;

import com.xoa.model.dutyManagement.DutyForm;
import com.xoa.model.users.Users;
import com.xoa.util.ToJson;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

public interface DutyFormService {

    List<DutyForm> getDutyFormManagementAll();

    Integer addDutyFormManagement(HttpServletRequest request, DutyForm dutyForm);

//    ToJson<DutyForm> getDutyFormManagementList(Map<String,Object> map,Integer page, Integer pageSize,boolean useFlag, Users user);

    ToJson<DutyForm> getDutyFormManagementList(Map<String, Object> map, Integer page, Integer pageSize, boolean useFlag, Users user, List<DutyForm> list);

    ToJson<DutyForm> getDutyFormManagementListByUserId(Map<String, Object> map, Integer page, Integer pageSize, boolean useFlag, Users user);

    ToJson<DutyForm> getDutyFormRemind(Map<String, Object> map, Integer page, Integer pageSize, boolean useFlag, String user);

    DutyForm getDutyFormById(HttpServletRequest request, Integer dutyId, String sqlType);

    boolean delDutyFormById(Integer dutyId);

    boolean updDutyFormById(DutyForm dutyForm);

    boolean delDutyFormAll(Users user);

    boolean delDutyFormByDutyIds(String[] dutyIds);

    List<DutyForm> getDutyFormListRep(Map<String, Object> map, Users user);

    List<DutyForm> reportDutyFormByUserId(Map<String, Object> map, Users user);

    Integer getSmsBodyBodyId(String remindUrl);

    void updSmsByUserIdAndBodyId(String userId, Integer bodyId);

    ToJson getDutyFormList(HttpServletRequest request, HttpServletResponse response, int exportId, Integer page, Integer pageSize, boolean useFlag);
}
